package com.mingqijia.gassafety.webserver.request;

import com.mingqijia.gassafety.webserver.request.runningReport.RunningReportAuditConfigListRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

/**
 * @author mby
 * @version 1.0.0
 * @ClassName RunningReportConfigRequest.java
 * @Description
 * @createTime 2024年03月11日
 */
@Data
@ApiModel("设备运行报告生成配置数据")
public class RunningReportConfigRequest {

    @ApiModelProperty(value = "设备运行报告生成开关 ON-开 OFF-关", required = true)
    @NotBlank(message = "设备运行报告生成开关不能为空")
    private String generateReportOpen;

    @ApiModelProperty(value = "设备运行报告生成时间设置", required = true)
    @NotNull(message = "设备运行报告生成时间设置不能为空")
    private Integer generateReportDay;

    @ApiModelProperty(value = "用户审核开关, {'民用':'ON','商用':'ON'}")
    private Map<String, String> checkOpenShow;

    @ApiModelProperty(value = "无需审核配置列表")
    private List<RunningReportAuditConfigListRequest> noAuditList;

    @ApiModelProperty(value = "是否开启配置类型离线时间 0-是，1-否")
    @NotNull(message = "是否开启配置类型离线时间不能为空")
    private Integer isOfflineConfig;

    @ApiModelProperty(value = "设备上报离线至上报上线间隔")
    @Max(value = 12, message = "离线事件规则1间隔事件不能超过12小时")
    private Integer offlineInterval;

    @ApiModelProperty(value = "离线业务配置是否需要计入离线事件统计 0-不计入统计 1-计入统计")
    private Integer offlineInclude;

}
